package com.ctbu.web;

import com.ctbu.entity.FinancialTrades;
import com.ctbu.service.FinancialTradesService;
import com.ctbu.tools.HttpStatusEnum;
import com.ctbu.tools.ResponseResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * <p>
 * 金融衍生品交易表，包含交易ID、产品ID、用户ID、约定价格和交易日期等信息 前端控制器
 * </p>
 *
 * @author lli
 * @since 2024年06月27日
 */
@RestController
@RequestMapping("/financialTrades")
public class FinancialTradesController {
    @Autowired
    private FinancialTradesService financialTradesService;
    /**
     * post:增加  put:修改 delete:删除 get:查询
     */

    /**
     * 分页查询 模糊查询
     * @param pageNum 当前页默认1
     * @param pageSize  每页大小默认5
     * @return
     */
    @GetMapping
    public ResponseResult<Object> list(
            @RequestParam(value = "pageNum",required = false,defaultValue = "1") int pageNum,
            @RequestParam(value = "pageSize",required = false,defaultValue = "5") int pageSize,
            @RequestParam(value = "tradeName",required = false,defaultValue = "") String tradeName,
            @RequestParam(value = "tradeDate",required = false,defaultValue = "") String tradeDate


    ){
        return financialTradesService.selectList(pageNum,pageSize,tradeName,tradeDate);

    }

    /**
     * post:增加  put:修改 delete:删除 get:查询
     */


    /**
     * 按id查询
     * @param id
     * @return
     */

    @GetMapping("/{id}")
    public ResponseResult<FinancialTrades> queryFinancialTradesById(@PathVariable String id){
        FinancialTrades financialTrades=financialTradesService.getById(id);
        return ResponseResult.success(financialTrades);
    }


   

    /**
     * 删除
     * @param id
     * @return
     */
    @DeleteMapping("/{id}")
    public ResponseResult<Boolean> delete(@PathVariable String id){
        boolean b=financialTradesService.removeById(id);
        if(b){
            return ResponseResult.success(b,"删除交易成功");
        }
        return ResponseResult.error(HttpStatusEnum.INTERNAL_SERVER_ERROR,"删除交易失败");
    }

    /**
     * 查询所有数据（增加或修改显示信息使用）
     * @return
     */
    @GetMapping("/queryAll")
    public ResponseResult<Object> queryAll(){
        List<FinancialTrades> list = financialTradesService.list();
        return ResponseResult.success(list,"查询成功");

    }


}
